Skip to content

Use B01 with regional reroute fallback in Pipeline9 - #1809

Open
seveibar wants to merge 5 commits into
mainfrom
agent/pipeline9-b01-high-density
Open

Use B01 with regional reroute fallback in Pipeline9#1809
seveibar wants to merge 5 commits into
mainfrom
agent/pipeline9-b01-high-density

Conversation

@seveibar

@seveibar seveibar commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

What changed

  • Replaces the Pipeline9 high-density stage with an immutable-first B01 adapter.
  • Loads pre-routed copper into B01 as layer-aware route obstacles.
  • When B01 fails, clips every pre-routed segment that enters that capacity region, makes those segments ordinary port pairs, and solves the combined region with the existing regular high-density portfolio.
  • Splices only the regional replacements back into the original pre-routed traces, preserving PCB trace ids and copper outside the failed region.
  • Treats an output trace with an existing pcb_trace_id as an intentional replacement during joint DRC.
  • Lets same-net via simplification reuse an immutable pre-routed via without mutating or re-emitting that via.
  • Keeps newly routed PCB trace ids distinct from preloaded ids.

Why

B01 should get the first opportunity to route around immutable pre-routed copper. Some valid SRJ23 regions still defeat B01 today, so Pipeline9 needs an explicit last-resort strategy that reroutes all copper inside only the failed region instead of failing the whole pipeline or silently ignoring preloaded-route intersections.

Validation

  • bunx tsc --noEmit
  • Focused tests across Pipeline9 fallback, joint DRC replacement semantics, immutable-route simplification, and same-net via reuse
  • SRJ23 sample 10: solved with 2 fallback regions, 2 mutated preloaded traces, and 0 joint relaxed-DRC errors
  • SRJ23 representative visual snapshots (1, 10, 23), including pre-routed traces

Related

The exact B01 failure input is isolated separately in tscircuit/high-density-b01#6.

@vercel

vercel Bot commented Jul 31, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
capacity-node-autorouter Ready Ready Preview Jul 31, 2026 2:56pm

Request Review

@tscircuitbot

Copy link
Copy Markdown
Contributor

Benchmark This PR

Run benchmarks by commenting on this PR:

/benchmark [benchmark.sh args...]
/benchmark-long [benchmark.sh args...]
/benchmark-all

Comment /benchmark to run the default dataset, or append any arguments accepted by ./benchmark.sh.
Comment /benchmark-long for an 8-vCPU run that defaults to 8 workers and has an eight-hour timeout.
Comment exactly /benchmark-all to start separate workflow runs and result comments for the default dataset plus srj18, srj19, srj20, srj21, and srj23.

Everything after /benchmark or /benchmark-long is safely forwarded to ./benchmark.sh, except --profile-solvers, which enables profile comparison tables.
Examples: /benchmark --dataset 18 --sample-timeout 2000s, /benchmark --pipeline 7 --scenario-limit 20, /benchmark all 20 --concurrency 8, and /benchmark-long --dataset 18.

Use /update-snapshots (or /us) to run BUN_UPDATE_SNAPSHOTS=1 bun test --timeout 120_000 on the PR branch and auto-commit snapshot updates.
Use /usf to read recent failed test files, update and verify their exact CI test shards, and auto-commit only their snapshots. It uses the configured fast benchmark runner by default; use /usf --ubuntu-latest for GitHub-hosted x64 CI parity.

Any PR whose title contains [BENCHMARK TEST] will automatically run one default-dataset benchmark on PR updates; it does not post a PR result comment.

@seveibar
seveibar force-pushed the agent/pipeline9-b01-high-density branch from bf6966f to e909c63 Compare July 31, 2026 14:55
@seveibar
seveibar changed the base branch from agent/joint-drc to main July 31, 2026 14:55
@seveibar seveibar closed this Jul 31, 2026
@seveibar seveibar reopened this Jul 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants